home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Deflex ninzya / Deflex.jar / Sound.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-03-15  |  2.9 KB  |  142 lines

  1. import com.siemens.mp.game.Melody;
  2. import com.siemens.mp.game.MelodyComposer;
  3. import com.siemens.mp.game.Vibrator;
  4. import java.util.Vector;
  5.  
  6. public class Sound {
  7.    private static char[] noteTable = new char[]{'c', 'C', 'd', 'D', 'e', 'f', 'F', 'g', 'G', 'a', 'A', 'h'};
  8.    public boolean useSound = true;
  9.    public boolean useVibrator = true;
  10.    private Vector melodies = new Vector();
  11.  
  12.    Sound(boolean var1, boolean var2) {
  13.       this.useSound = var1;
  14.       this.useVibrator = var2;
  15.    }
  16.  
  17.    public void triggerVibrator(int var1) {
  18.       if (this.useVibrator) {
  19.          Vibrator.triggerVibrator(var1);
  20.       }
  21.  
  22.    }
  23.  
  24.    public void playSound(int var1) {
  25.       if (this.useSound) {
  26.          ((Melody)this.melodies.elementAt(var1)).play();
  27.       }
  28.  
  29.    }
  30.  
  31.    public void stopSound(int var1) {
  32.       if (this.useSound) {
  33.          Melody var10000 = (Melody)this.melodies.elementAt(var1);
  34.          Melody.stop();
  35.       }
  36.  
  37.    }
  38.  
  39.    public int newSound(String var1) {
  40.       MelodyComposer var2 = new MelodyComposer();
  41.       if (var1.toUpperCase().charAt(0) != 'S' && var1.charAt(1) != '1') {
  42.          return -2;
  43.       } else {
  44.          int var3 = 2;
  45.  
  46.          int var7;
  47.          for(byte var4 = 0; var3 < var1.length(); var3 = var7) {
  48.             boolean var5;
  49.             int var6;
  50.             label91: {
  51.                var5 = false;
  52.                var6 = 59;
  53.  
  54.                for(var7 = var3; var7 < var1.length() && var1.charAt(var7) != '-'; ++var7) {
  55.                }
  56.  
  57.                int var8;
  58.                for(var8 = var7++; var7 < var1.length() && var1.charAt(var7) != '-'; ++var7) {
  59.                }
  60.  
  61.                String var10 = var1.substring(var8 + 1, var7);
  62.                int var14;
  63.                int var15;
  64.                switch (var10.toUpperCase().charAt(0)) {
  65.                   case '#':
  66.                      var6 = 59;
  67.                      var5 = true;
  68.                      break label91;
  69.                   case '@':
  70.                      var6 = 58;
  71.                      var5 = true;
  72.                      break label91;
  73.                   case 'L':
  74.                      String var12 = "" + var10.charAt(1);
  75.                      if (var10.length() == 3) {
  76.                         var12 = var12 + var10.charAt(2);
  77.                      }
  78.  
  79.                      int var13 = Integer.valueOf(var12);
  80.                      switch (var13) {
  81.                         case 1:
  82.                            var4 = 0;
  83.                            break label91;
  84.                         case 2:
  85.                            var4 = 1;
  86.                            break label91;
  87.                         case 4:
  88.                            var4 = 2;
  89.                            break label91;
  90.                         case 8:
  91.                            var4 = 3;
  92.                            break label91;
  93.                         case 16:
  94.                            var4 = 4;
  95.                            break label91;
  96.                         case 32:
  97.                            var4 = 5;
  98.                            break label91;
  99.                         default:
  100.                            return -3;
  101.                      }
  102.                   case 'T':
  103.                      String var11 = var10.substring(1, var10.length());
  104.                      var2.setBPM(Integer.valueOf(var11));
  105.                      break label91;
  106.                   default:
  107.                      var14 = -1;
  108.                      var15 = 0;
  109.                }
  110.  
  111.                for(; var15 < noteTable.length; ++var15) {
  112.                   if (var10.charAt(0) == noteTable[var15]) {
  113.                      var14 = var15;
  114.                   }
  115.                }
  116.  
  117.                if (var14 == -1) {
  118.                   return -4;
  119.                }
  120.  
  121.                int var16 = Integer.parseInt("" + var10.charAt(1));
  122.                int var17 = var14 + 12 * var16;
  123.                var6 = var17;
  124.                var5 = true;
  125.             }
  126.  
  127.             if (var5) {
  128.                try {
  129.                   var2.appendNote(var6, var4);
  130.                } catch (Exception var19) {
  131.                   ((Throwable)var19).printStackTrace();
  132.                }
  133.             }
  134.          }
  135.  
  136.          this.melodies.addElement(var2.getMelody());
  137.          System.gc();
  138.          return this.melodies.size() - 1;
  139.       }
  140.    }
  141. }
  142.